package com.rightsidetech.system.service;


import com.github.pagehelper.PageInfo;
import com.rightsidetech.commom.base.DelReq;
import com.rightsidetech.commom.base.ResponseData;
import com.rightsidetech.commom.service.IService;
import com.rightsidetech.system.dtos.request.*;
import com.rightsidetech.system.dtos.response.CompanyAreaResp;
import com.rightsidetech.system.dtos.response.CompanyManageAreaResp;
import com.rightsidetech.system.dtos.response.RegionTreeResp;
import com.rightsidetech.system.entity.SysCompanyArea;

import java.util.List;

/**
 * @Author: yhr
 * @Date: 2021-10-22 09:46
 */
public interface SysCompanyAreaService extends IService<SysCompanyArea,Long> {
    ResponseData<PageInfo<CompanyAreaResp>> page(CompanyAreaReq req);

    ResponseData<List<CompanyManageAreaResp>> selectList(Long areaId);

    ResponseData saveCompanyArea(CompanyAreaAddReq req, Long loginInfoId);

    ResponseData updateCompanyArea(CompanyAreaUpdateReq req, Long loginInfoId);

    ResponseData updateStatus(UpdateStatusReq req, Long loginInfoId);

    ResponseData delCompanyArea(DelReq req, Long loginInfoId);

    List<CompanyAreaResp> exList(CompanyAreaReq req);

    ResponseData<List<CompanyManageAreaResp>> searchOpen(Long areaId);

    ResponseData<List<RegionTreeResp>> getRegionTree(RegionTreeReq req);

    List<Long> storedIds(RegionTreeReq req);

    List<Long> agentIds(RegionTreeReq req);

    List<Long> allAreaId();
}
